"""
演示数据容器的通用功能
"""
my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = "abcdefg"
my_set = {1, 2, 3, 4, 5}
my_dict = {"key1": 1, "key2": 2, "key3": 3, "key4": 4, "key5": 5}

# len元素个数
print(f"列表  元素个数有：{len(my_list)}")
print(f"元组  元素个数有：{len(my_tuple)}")
print(f"字符串元素个数有：{len(my_str)}")
print(f"集合  元素个数有：{len(my_set)}")
print(f"字典  元素个数有：{len(my_dict)}")

# max最大元素
print(f"列表  最大元素是：{max(my_list)}")
print(f"元组  最大元素是：{max(my_tuple)}")
print(f"字符串最大元素是：{max(my_str)}")
print(f"集合  最大元素是：{max(my_set)}")
print(f"字典  最大元素是：{max(my_dict)}")

# min最小元素
print(f"列表  最小元素是：{min(my_list)}")
print(f"元组  最小元素是：{min(my_tuple)}")
print(f"字符串最小元素是：{min(my_str)}")
print(f"集合  最小元素是：{min(my_set)}")
print(f"字典  最小元素是：{min(my_dict)}")

# 类型转换：容器转列表
print(f"列表转 列表 的结果是：{list(my_list)}")
print(f"元组转 列表 的结果是：{list(my_tuple)}")
print(f"字符串转 列表 的结果是：{list(my_str)}")
print(f"集合转 列表 的结果是：{list(my_set)}")
print(f"字典转 列表 的结果是：{list(my_dict)}")

# 类型转换：容器转元组
print(f"列表转 元组 的结果是：{tuple(my_list)}")
print(f"元组转 元组 的结果是：{tuple(my_tuple)}")
print(f"字符串转 元组 的结果是：{tuple(my_str)}")
print(f"集合转 元组 的结果是：{tuple(my_set)}")
print(f"字典转 元组 的结果是：{tuple(my_dict)}")

# 类型转换：容器转字符串
print(f"列表转 字符串 的结果是：{str(my_list)}")
print(f"元组转 字符串 的结果是：{str(my_tuple)}")
print(f"字符串转 字符串 的结果是：{str(my_str)}")
print(f"集合转 字符串 的结果是：{str(my_set)}")
print(f"字典转 字符串 的结果是：{str(my_dict)}")

# 类型转换：容器转集合
print(f"列表转 集合 的结果是：{set(my_list)}")
print(f"元组转 集合 的结果是：{set(my_tuple)}")
print(f"字符串转 集合 的结果是：{set(my_str)}")
print(f"集合转 集合 的结果是：{set(my_set)}")
print(f"字典转 集合 的结果是：{set(my_dict)}")

# sorted排序 (排序后放到列表中)
my_list = [3, 1, 2, 5, 4]
my_tuple = (3, 1, 2, 5, 4)
my_str = "bdcefga"
my_set = {3, 1, 2, 5, 4}
my_dict = {"key3": 3, "key1": 1, "key2": 2, "key5": 5, "key4": 4}

print(f"列表对象的排序结果：{sorted(my_list)}")
print(f"元组对象的排序结果：{sorted(my_tuple)}")
print(f"字符串对象的排序结果：{sorted(my_str)}")
print(f"集合对象的排序结果：{sorted(my_set)}")
print(f"字典对象的排序结果：{sorted(my_dict)}")

print(f"列表对象的反向排序结果：{sorted(my_list, reverse=True)}")
print(f"元组对象的反向排序结果：{sorted(my_tuple, reverse=True)}")
print(f"字符串对象的反向排序结果：{sorted(my_str, reverse=True)}")
print(f"集合对象的反向排序结果：{sorted(my_set, reverse=True)}")
print(f"字典对象的反向排序结果：{sorted(my_dict, reverse=True)}")
